package com.yhb.service;

import com.github.pagehelper.PageInfo;
import com.yhb.controller.admin.form.QueryPosBoundForm;
import com.yhb.controller.admin.vo.PageVo;
import com.yhb.controller.admin.vo.QueryPosVo;
import com.yhb.model.MPosSku;
import com.yhb.model.PosBound;
import com.yhb.model.PosManufacturer;
import com.yhb.model.User;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface MPosService {

    String PREFIX_TOTAL_AMOUNT = "mpos_prime_vip_amount_";
    String PREFIX_HAS_PUBLISHED_PRIME = "mpos_prime_vip_published_";
    BigDecimal THRESHOLD_PRIME_VIP = new BigDecimal(5001);

    User checkLeshuaBoundRelationship(String sn, String idMd5);

    void addBound(String manufacturerId, String sn, String userId);

    int unBound(String boundId, User user);

    void syncMerchantId(Date start, Date end);

    void syncUserFeeRate(User user);

    void syncOrders(Date start, Date end);

    List<PosManufacturer> manufacturers();

    void importSku(List<MPosSku> skus);

    PageVo search(QueryPosBoundForm boundForm);

    void addUserAmount(User user, BigDecimal amount);

    List<PosBound> getUserBound(String userId);

}
